// function quickSort(arr) {
//     const res = (arr) => {
//         if (arr.length <= 1)
//             return arr;
//         const left = [];
//         const right = [];
//         const mid = arr[0];
//         for (let i = 1; i < arr.length; i++) {
//             if (arr[i] < mid) {
//                 left.push(arr[i]);
//             } else {
//                 right.push(arr[i]);
//             }
//         }
//         return [...res(left), mid, ...res(right)];
//     }
//     return res(arr);
// }

function quickSort(arr) {
    const res = (arr) => {
        if (arr.length <= 1)
            return arr;
        const left = [];
        const right = [];
        const mid = arr[0];
        for (let i = 1; i < arr.length; i++) {
            if (arr[i] < mid) {
                left.push(arr[i]);
            } else {
                right.push(arr[i]);
            }
        }
        return [...res(left), mid, ...res(right)];
    }
    return res(arr);
}

const arr = [3, 1, 4, 2, 5, 0];
console.log(quickSort(arr));